1. Field of the Invention
The present invention relates to an associated information adding apparatus and method for adding information associated with image data, such as a still image or a moving image sequence, as an electronic watermark (watermark) into the image data, and an associated information detecting apparatus and method for detecting the associated information. The invention also relates to an illegal use preventing system using the associated information adding apparatus or method and the associated information detecting apparatus or method.
2. Description of the Related Art
There is a technique in which information associated with arbitrary image data (still image or moving image sequence) is added to the image data, and the associated information is detected at the time of reproduction and is used. As a typical usage example of this technique, it is possible to make mention of addition of copyright information.
In the case where any unspecified user can use specific image data, it is conceivable that a person having copyright on the image adds copyright information previously into the image data in order to assert the right. By adding the copyright information, in the case where the copyright information to instruct a user that the image data are unable to be displayed is detected in the processing procedure of a reproducing apparatus or reproducing method of the image, it becomes possible to take such a countermeasure that the image data are not displayed.
At present, the foregoing addition or detection of copyright information is used in the illegal copying preventing function of a videotape of analog recording (a video signal is recorded in a state of an analog signal) and the like. This function makes it impossible to illegally copy a videotape obtained through a method such as borrowing from a rental agent, and the right of a person having the copyright of the videotape is protected.
In the case of a videotape of analog recording, since image data are recorded in an analog manner, the picture quality is deteriorated when copying is performed. On the contrary, in an apparatus for recording and reproducing image data in a digital manner, which has recently come into wide use, the picture quality is not deteriorated by copying in principle, and even a number of repetitions of copying can be made without deterioration of the picture quality. Thus, the damage by illegal copying with an apparatus for performing the processing in a digital manner becomes more serious than the case of an analog apparatus, and prevention of illegal copying in the apparatus for performing the processing in a digital manner becomes very important.
As methods of adding information associated with image data, such as the foregoing copyright information, into the image data, there are mainly two methods.
The first method is a method of adding information into an auxiliary portion of image data. The auxiliary portion of image data indicates a portion other than the image data in an effective screen region. For example, it is a vertical blanking period of an analog video signal, a header portion or an additional data portion of a digital video signal, or the like. Actually, in an analog videotape, auxiliary associated information of image data is added to a part of a vertical blanking period.
The second method is a method of adding information into a main portion of image data, that is, the image data in an effective screen region. In this method, some specific pattern is added to all or a part of an image to such a degree that it can not be visually sensed. This is called an electronic watermark processing. As a specific example of this, there is a spectrum diffusion or the like in which addition and detection of information is performed by employing a key pattern produced by using random numbers, M-sequence, etc.
Since the first method adds information into an auxiliary portion of image data, that is, a place different from the contents themselves of the image, there is a problem that if the auxiliary portion is once separated, the added information is lost.
On the contrary, the electronic watermark processing is a processing for embedding information as noise existing in image data and being an unimportant portion for the perception of a human being. The information embedded in the image data by such electronic watermark processing (hereinafter, the information embedded by means of electronic watermark is referred to as a xe2x80x9cwatermarkxe2x80x9d) is added to the same frequency region and time region as the image data, so that it is hard to remove the information from the image data. On the other hand, there is a feature that even after filtering processing or data compression processing is performed for the image data, the watermark embedded in those can be detected from the image data.
The present application relates to an invention using a watermark as a method of adding associated information into a main portion of image data, which is the second method having the features as set forth above.
First, the outline of an adding and detecting system of a watermark will be described with reference to FIGS. 1 to 4.
FIG. 1 shows an example of a watermark pattern WM. The watermark pattern WM of this example has a size of verticalxc3x97horizontal=4n pixelsxc3x974n pixels (n is a natural number), and such a pattern that either one of two symbols +1 and xe2x88x921 is taken for each pixel is designed to be used as shown in the drawing. In actual usage, it is preferable that the watermark pattern takes either one of the two symbols at random. The shape and size of a region of the watermark pattern are arbitrary.
When associated information is added to an image, a region having the same size as a region of a watermark pattern to be added is set on the image as an object for which the addition is performed. The set region and the watermark pattern WM are overlapped with each other to be checked, a value xe2x80x9caxe2x80x9d is added for a pixel corresponding to the symbol of +1 in the watermark pattern WM, and a value xe2x80x9cbxe2x80x9d is subtracted for a pixel corresponding to the symbol of xe2x88x921. Here, the value xe2x80x9caxe2x80x9d and the value xe2x80x9cbxe2x80x9d can take arbitrary values.
FIG. 2 shows an example of addition of the watermark pattern WM into an image. In this example, every pixel value in a region of an image Pi as an object to which the addition is performed is 100, and a=1, b=xe2x88x921 are set for the watermark pattern WM to be added. In an image Po obtained as a result that an embedding operation of this watermark pattern WM is performed, the pixel values are divided into 101 and 99 as shown in the drawing.
When associated information is detected, a region having the same size as the region of the watermark pattern WM is set on the image as an object to which detection is performed. An evaluation value as to correlation between the set image region and the watermark pattern WM is found. In this case, the sum for all pixels of the set image region is used as the evaluation value.
Specifically, when all pixels are summed to find the evaluation value, the set image region and the watermark pattern WM are overlapped with each other to be checked, addition is applied to the pixels of the symbol of +1 in the watermark pattern WM, and subtraction is applied to the pixels of the symbol of xe2x88x921. At this time, detection is made by using the same pattern as the watermark pattern used when the associated information is added.
FIG. 3 is a view for explaining calculation of the evaluation value in the case where the watermark is detected from the image Po to which the watermark pattern WM was added in the manner as shown in FIG. 2. In this example of FIG. 3, the evaluation value becomes (4n)2 (equal to the number of pixels contained in the region).
On the contrary, the image Po of FIG. 4 shows a case where the watermark pattern WM is not added, and the evaluation value of correlation to the watermark pattern with respect to this image Po becomes 0.
Actually, although it hardly occurs that all pixels of the image Pi as an object to which the watermark pattern is added have the same value, in the case where the region of the watermark pattern is sufficiently large and the watermark pattern is sufficiently random, from the horizontal and vertical correlation of an image, the evaluation value as to the image Po in the case where the watermark is not added becomes almost zero at all times. From this, in the case where the evaluation value exceeds a certain threshold value, it is permissible to judge that the associated information by the watermark is added to the image.
By the foregoing procedure, it becomes possible to add information (1 bit) of two values, as associated information, indicating whether the watermark is added or not. In the case where it is desired to add more information (plural bits), by such a processing method that the whole image is divided into k pieces of regions in space, in time, or in space and time, and the above operation is performed for each region, it is possible to add 2 k pieces (k bits) of information to the image.
As the watermark pattern, for example, what is produced by using the M-sequence (longest code sequence) can be used. The M-sequence is a series composed of binary symbols, a statistical distribution of the respective symbols is constant, and code correlation is 1 at the origin and xe2x88x921/code length at other portions. Of course, the watermark pattern may be produced by a method other than using the M-sequence.
In the case where image data are recorded and reproduced in a digital manner, since the image data without any change have a very large amount of information, the image data are generally compressed. As a method of compressing the image data, a high efficiency coding system such as JPEG (coding system for a color still image) or MPEG (coding system for a color moving image) is internationally standardized and has been put to practical use. Data compressed by these high efficiency coding systems are called bit stream data or simply bit stream. As a comparable expression, an image prior to compression and an image after decoding are called a base band image or simply a base band.
It is convenient if a watermark can be easily detected by only adding the watermark to a base band image, even if the image is distributed as the base band image without any compression or as the bit stream after high efficiency coding such as JPEG or MPEG was performed. That is, it is preferable that the watermark added before compression with the high efficiency coding or the like can be used for detection commonly in both the base band and the bit stream.
FIG. 5 is a conceptual view for explaining the entire flow of addition and detection of a watermark to image information.
That is, in FIG. 5, base band image information is supplied to a watermark adding apparatus 10 through an input terminal 1, and information of a unit watermark wm to be added is supplied to the watermark adding apparatus 10 through a unit watermark input terminal 2. The unit watermark wm has a size corresponding to a small region of a part of an image as described later in detail.
In the watermark adding apparatus 10 of this example, a repetitive watermark WMR in a state where the unit watermark wm supplied from the input terminal 2 is repeated vertically and horizontally on the image is added to the base band image from the input terminal 1. The base band image information added with the repetitive watermark WMR is outputted through an output terminal 3.
The base band image added with the repetitive watermark WMR is supplied to an MPEG encoder 20, and is encoded in high efficiency through the MPEG system, so that it is made a bit stream and is outputted through an output terminal 4. The size of an encoded block in the MPEG encoding of this case is equal to the unit watermark wm, or the unit watermark wm is made to have such relation that it is equal to an integral number of encoded blocks. In other words, the size of the unit watermark wm is selected to be a size an integral number of times as large as the size of the encoded block.
The image information of the base band image added with the watermark WMR and outputted from the output terminal 3 is supplied to a watermark base band detecting apparatus 30 through an input terminal 5. In the watermark base band detecting apparatus 30, on the basis of the unit watermark wm from an input terminal 6 (equal to the unit watermark wm from the input terminal 2), the watermark is detected from the base band image information as described later, and the detection result is led out through an output terminal 7.
The image information of the bit stream added with the watermark WMR and outputted from the output terminal 4 is supplied to a watermark bit stream detecting apparatus 40 through an input terminal 8. In the watermark bit stream detecting apparatus 40, on the basis of the unit watermark wm from the input terminal 6, the watermark is detected from the bit stream image information as described later, and the detection result is led out through an output terminal 9.
The watermark adding apparatus 10 of FIG. 5 is constructed as shown in FIG. 6. This watermark adding apparatus is such an apparatus that the watermark WMR in which the unit watermark wm is repeated vertically and horizontally on the image is added to the image, and the image added with the watermark is outputted.
In this case, motion image data inputted through the image input terminal 1 can be expressed by I(x, y, t) (0xe2x89xa6x less than width (I), 0xe2x89xa6y less than height (I)), and the unit watermark wm inputted through the unit watermark input terminal 2 is expressed by W(x, y) (0xe2x89xa6x less than L, 0xe2x89xa6y less than L).
Where, x and y designate coordinates of each of pixels constituting the image in the horizontal direction and the vertical direction on the image, and t designates a time in an image unit. As shown also in FIGS. 8B and 8C, the width (I) and the height (I) designate the width and the height of the image, respectively. As shown in FIG. 8A, L (a natural number) designates the width and height of the unit watermark wm.
The unit watermark wm inputted through the unit watermark input terminal 2 is inputted to a watermark repeating unit 103. The internal structure of this watermark repeating unit 103 is as shown in FIG. 7.
That is, as shown in FIG. 7, the watermark repeating unit 103 is provided with a memory 1031 having such a capacity that all elements of the repetitive watermark WMR corresponding to one image can be stored.
At the time of writing the unit watermark wm into the memory 1031, coordinate elements x and y of a coordinate (x, y) as to the unit watermark wm are inputted through an x-coordinate input terminal 11 and a y-coordinate input terminal 12. Then, memory addresses x and y corresponding to the input coordinate are set by address setting portions 1032 and 1033, and the unit watermark wm from the input terminal 2 is written in the memory 1031.
In this case, the address setting portion 1032 supplies, to the memory 1031, addresses to specify not only one memory position corresponding to the input coordinate (x, y) but also positions separate from the memory position in the vertical direction and the horizontal direction by a distance an integral number of times, like once, twice, three times, . . . , as large as L. Thus, as shown in FIGS. 8B and 8C, the watermark WMR in which the unit watermark wm repeats in the vertical direction and the horizontal direction of the image is written into the memory 1031.
That is, at every time when each value W(x, y) of the unit watermark is inputted, for all pairs of i and j (i and j are respectively a positive integer) satisfying
i%L=x, and j%L=y (0xe2x89xa6i less than width (I), 0xe2x89xa6j less than height (I)),
repeat W(i, j)=W(x, y) is written into the memory repeatW holding the watermark after repetition. In this specification, xe2x80x9c%xe2x80x9d is an operator for finding a surplus.
This will be described with reference to FIGS. 8A to 8C. When the unit watermark W(x, y) of FIG. 8A is inputted, the watermark repeating unit 103 repeats the unit watermark W(x, y) to form the watermark WMR of FIG. 8B which has the width(I) and the height(I).
FIG. 8B shows the case where the width(I) of the image and the height(I) of the image can be respectively divided by the width and the height L of the unit watermark wm. In the case where they can not be divided, the repetitive water mark becomes as shown in FIG. 8C.
The coordinate (x, y) corresponding to each pixel position of the image information inputted from the image input terminal 1 is sequentially supplied through the x-coordinate input terminal 11 and the y-coordinate input terminal 12 into the memory 1031, so that the watermark WMR written in the memory 1031 of the watermark repeating unit 103 in the manner as described above is read out. The read out repetitive watermark WMR is transferred to a watermark embedding unit 101.
On the other hand, the base band image information inputted through the image input terminal 1 is sent to not only the watermark embedding unit 101 but also an embedding amount judging unit 102. The embedding amount judging unit 102 investigates the feature of the inputted image, judges, at each place of the image, the embedding amount of the watermark in which addition has scarcely an influence on picture quality, and transmits the amount to the watermark embedding unit 101.
In the watermark embedding unit 101, in accordance with the repetitive watermark WMR inputted from the watermark repeating unit 103, the watermark is embedded in the image sent from the image input terminal 1. At that time, the embedding amount is adjusted in accordance with the information of the embedding amount inputted from the embedding amount judging unit 102.
Here, the embedding amount judging unit 102 is necessary for improving the picture quality of the image added with the watermark, and is not indispensable for addition and detection of the repetitive watermark WMR. For example, even if addition with the same embedding amount is performed to all portions where the watermark pattern indicates that addition is performed without using the embedding amount judging unit 102, there does not occur a problem in detection of the watermark.
The image information added with the repetitive watermark WMR made by the watermark embedding unit 101 is outputted from the base band output terminal 3.
Here, the operation of the watermark embedding unit 101 will be described in detail.
When the embedding amount found by the embedding amount judging unit 102 with respect to the input image I(x, y, t) is made D(x, y, t), in the case where embedding is performed by the specified amount in the embedding unit 101, the image wmI(x, y, t) after addition of the watermark becomes
wmI(x, y, t)=I(x, y, t)+repeatW(x, y)xc3x97D(x, y, t).
When the watermark is added to all pixels by a constant embedding amount, the image wmI(x, y, t) after addition of the watermark is expressed using a constant D by
wmI(x, y, t)=I(x, y, t)+repeatW(x, y)xc3x97D.
Next, a structural example of the watermark base band detecting apparatus 30 will be described with reference to FIG. 9.
The watermark base band detecting apparatus 30 of FIG. 9 reads the image information of the base band and the pattern of the unit watermark wm, and outputs the information of the watermark contained in the base band image information. The information of the watermark is such that when the watermark exists in the image, it is the shift amount of position where the unit watermark is detected, and when the watermark does not exist in the image, it is information indicating nonexistence of the watermark. The shift amount of the position where the unit watermark is detected is equal to the shift amount between the pattern of the unit watermark wm to be compared and the unit watermark pattern in the watermark on the detected image.
As shown in FIG. 9, the image I(x, y, t) (see FIG. 10A) inputted from the base band image input terminal 5 is inputted into a folding accumulator 301, and as shown in FIG. 10B, it is folded and accumulated with the size of the unit watermark. When an equation is used, a folding accumulation result foldI(x, y) is expressed as follows:
foldI(x, y)=xcexa3I(i%L, j%L, t)
i%L=x, j%L=y
Since L is the horizontal and vertical size of the unit watermark wm, the folding accumulation result foldI(x, y) is space information having the same size as the unit watermark wm.
FIG. 11 shows a structural example of the folding accumulator 301. This folding accumulator 301 includes a memory 3012 having a capacity for at least the unit watermark wm of Lxc3x97L elements, an accumulative adder 3011, and address setting portions 3013 and 3014 for the memory 3012.
To the accumulative adder 3011, the image information from the image input terminal 5 is inputted, and image elements of the unit watermark wm read out from the memory 3012 are also supplied, so that accumulative addition is made. The output of the accumulative adder 3011 is written in the memory 3012 at an address indicated by the address setting portions 3013 and 3014, and is read out. By this, a fold accumulation image output is obtained from the memory 3012, and is led out through an output terminal 33.
In this case, coordinate elements x and y of a coordinate (x, y) of a pixel as to an image, which are inputted from the input terminals 31 and 32, are supplied to the address setting portions 3013 and 3014, respectively. In the address setting portion 3013, the operation x%L for finding a surplus is performed, and the found surplus is supplied to the memory 3012 as the address x. In the address setting portion 3014, the operation y%L for finding a surplus is performed, and the found surplus is supplied to the memory 3012 as the address y. Through this addressing, folding accumulation is executed by the accumulative adder 3011 and the memory 3012.
In the case of carrying out folding accumulation in which folding in a unit of the size of the unit watermark and accumulation are performed like this, and in the case where, as shown in FIG. 12A, a folding region AR has no shift in regard to the watermark on the image, the watermark of the input image after folding accumulation comes to have quite the same pattern as the unit watermark wm as shown in FIG. 12B.
In the case where the folding region AR is shifted in regard to the watermark on the image as shown in FIG. 13A, the watermark of the input image after folding accumulation comes to have such a pattern that patterns obtained by dividing the unit watermark wm are gathered as shown in FIG. 13B.
However, when folding accumulation is performed as described above, naturally in the case where there is no image shift between the time of addition of the watermark and the time of detection of the watermark as shown in FIG. 12A, even in the case where there is a shift between the time of addition of the watermark and the time of detection of the watermark as shown in FIG. 13A, since the accumulated watermark components are always placed at the same position, they are emphasized, and when the number of times of accumulation becomes sufficiently large, the accumulated image components are cancelled out.
If the watermark is contained in the input image I(x, y, t), the folding accumulation result foldI(x, y) and what is obtained by shifting the unit watermark W(x, y) have correlation at all times. This correlation is investigated by using FFT (Fast Fourier Transform) as described below.
That is, the output of the folding accumulator 301 is inputted to an FFT unit 302, and after the FFT for Lxc3x97L elements is carried out, the output is sent to a convolution arithmetic unit 303. The unit watermark wm (=W(x, y)) inputted from the unit watermark input terminal 6 is also subjected to the FFT for Lxc3x97L elements by an FFT unit 304, and then, it is sent to the convolution arithmetic unit 303.
The convolution arithmetic unit 303 performs convolution of coefficients of the foregoing two FFT spaces, and sends the result to an inverse FFT unit 305. The convolution at the convolution arithmetic unit 303 is equivalent to correlating of combination of all shifts between both the unit watermark wm and the image after folding in the space region.
In the inverse FFT unit 305, inverse FFT is performed to the result obtained by the convolution arithmetic unit 303 so that it is returned to the space region. The output of all coefficients obtained by the inverse FFT at the inverse FFT unit 305 is supplied to a maximum value detector 306 and a variance calculator 307.
The maximum value detector 306 searches a maximum coefficient among coefficients obtained by the inverse TFT at the inverse FFT unit 305, and outputs the maximum coefficient and its coordinate.
All coefficients from the inverse FFT unit 305 and the coordinate value of the maximum coefficient from the maximum value detector 306 are inputted to the variance calculator 307, and variance of values other than the maximum value of the coefficient is calculated.
The variance calculated by the variance calculator 307 and the maximum coefficient found by the maximum value detector 306 are inputted to a normalizing unit 308. The output of the normalizing unit 308 is a value normalized by dividing the maximum coefficient by the variance. This value is inputted to a threshold value comparator 309 and is compared with a predetermined threshold value.
In the threshold value comparator 309, when the value obtained by dividing the maximum value inputted to this by the variance is smaller than the threshold value, it is judged that there is no watermark, and an output controller 310 is controlled so that the information indicating that there is no watermark is outputted through the watermark information output terminal 7.
In the threshold value comparator 309, if the value obtained by dividing the maximum value inputted to this by the variance is larger than the threshold value, it is judged that the watermark is contained, and the output controller 310 is controlled, so that the coordinate of the maximum coefficient detected by the maximum value detector 306, that is, the shift amount of the position where the watermark is contained is outputted through the watermark information output terminal 7.
As described above, in the watermark base band detecting apparatus of FIG. 9, correlation as to all possible shift amounts is obtained using convolution in the FFT region, and it is judged whether the watermark is added to the image on the basis of whether or not the maximum value of the correlation is larger than a predetermined standard.
In the case where the watermark is added to the image, although the shift amount is outputted as information, since it is the shift amount between the time of addition of the watermark and the time of detection of the watermark, it is impossible to make the amount have an absolute meaning. However, it is possible to make the amount have a relative meaning as described below.
Two watermarks of a certain watermark and a watermark obtained by multiplying each element of the certain watermark by xe2x88x921 (that is, inverted pattern) are added to different phases of one image. The maximum value judgement unit 306 of FIG. 9 is replaced by a maximum/minimum value judgement unit for extracting both the maximum value and the minimum value, and the maximum value or minimum value and its coordinate among coefficients from the inverse FFT unit 305 are found. After the found maximum coefficient or minimum coefficient is normalized with variance, it is judged by the threshold value comparator 309 whether the absolute value of the maximum coefficient or minimum coefficient is larger than a threshold value, and in the case where it is larger, the difference in shift amounts of the two watermarks of the watermark where the maximum coefficient was detected and the watermark where the minimum coefficient was detected is made information. Since this information is relative, it does not change even if a shift occurs in the image.
Next, a structural example of the watermark bit stream detecting apparatus 40 will be described with reference to FIG. 14.
In FIG. 14, a bit stream of image data encoded by the MPEG encoder 20 is inputted to the bit stream image input terminal 8. The watermark bit stream detecting apparatus 40 receives input of the bit stream image and the pattern of a unit watermark wm, and outputs information of the watermark added to the image. Similarly to the foregoing, the information of the watermark is a shift amount of a position where the watermark is detected if the watermark exists on the bit stream image, and is information that there is no watermark if the watermark does not exist on the bit stream image.
The watermark bit stream detecting apparatus 40 of FIG. 14 has almost the same structure as the watermark base band detecting apparatus 30 of FIG. 9 except a portion. That is, the folding accumulator 301, the FFT unit 302, the convolution arithmetic unit 303, the FFT unit 304, the inverse FFT unit 305, the maximum detector 306, the variance calculator 307, the normalizing unit 308, the threshold value comparator 309, and the output controller 310 of FIG. 9 correspond to a folding accumulator 401, an FFT unit 402, a convolution arithmetic unit 403, an FFT unit 404, an inverse FFT unit 405, a maximum detector 406, a variance calculator 407, a normalizing nit 408, a threshold value comparator 409, and an output controller 410 of FIG. 14, respectively.
The difference from the watermark base band detecting apparatus 30 of FIG. 9 is that the input is changed from base band image data to bit stream image data, and a DCT (Discrete Cosine Transform) coefficient extractor 411 and an inverse DCT unit 412 are newly provided before and after the folding accumulator 301. In the following, a description will be made mainly on different points from the watermark base band detecting apparatus 30 of FIG. 9.
Bit stream image data inputted through the bit stream input terminal 8 are partially decoded by the DCT coefficient extractor 411, and a DCT coefficient of one picture is extracted.
Here, if inverse DCT is applied to the DCT coefficient to convert it into a pixel value in a space region, it is possible to subsequently make detection by the same apparatus as the watermark base band detecting apparatus 30 of FIG. 9. However, in order to decrease a calculation amount, in the watermark bit stream detecting apparatus 40 of FIG. 14, the output of the DCT coefficient extractor 411 is supplied to the folding accumulator 401, and after folding accumulation is performed, it is supplied to the inverse DCT unit 412 and inverse DCT is performed.
In the case of an encoding system like MPEG2, DCT of two modes of a frame and a field is adaptively used. FIGS. 15A and 15B show a block in the case of DCT of the frame mode, and FIGS. 16A and 16B show a block in the case of DCT of the field mode.
That is, in the frame mode, a macro block 201 of FIG. 15A is divided into four DCT blocks 202, 203, 204, and 205 shown in FIG. 15B. In the field mode, a macro block 201 of FIG. 16A is divided into four DCT blocks 206, 207, 208, and 209 shown in FIG. 16B.
As shown in FIGS. 15A and 15B and FIGS. 16A and 16B, the ranges of pixels occupied by the block where the frame DCT is performed and the block where the field DCT is performed is different from each other.
However, it is common that a region where two DCT blocks are vertically combined is a region of horizontalxc3x97vertical=8xc3x9716 pixels. In this example, in order to make it possible to deal with any case where DCT is performed in either mode of the frame mode and the field mode, a region of 8xc3x9716 pixels in which two DCT blocks are vertically combined is treated as one unit encoded block.
When an image is divided into the encoded blocks (DCT blocks), a set of coefficients of a block at a x-th position in the horizontal direction and at a y-th position in the vertical direction, that is, two DCT blocks starting from a pixel with a coordinate of horizontal 8 x and vertical 16 y is divided into a part in a case where the frame DCT is used and a part in a case where the field DCT is used, and they are made FrDCT(x, y, t) and FiDCT(x, y, t), respectively. Here, counting of a number begins from zero.
The folding accumulator 401 receives these DCT coefficients from the DCT coefficient extractor 411, performs folding accumulation, and transfers them to the inverse DCT unit 412. When what was subjected to the folding accumulation is made foldFrDCT(x, y) and foldFiDCT(x, y), they are expressed by the following equations.
foldFrDCT(x, y)=xcexa3FrDCT (i, j, t)
i%(L/8)=x, j%(L/16)=y
foldFiDCT(x, y)=xcexa3FiDCT (i, j, t)
i%(L/8)=x, j%(L/16)=y
However, in order that folding accumulation can be made without any change to this DCT region, it is assumed that L/8 and L/16 can be divided and are integers.
For example, in the case of FIG. 17A, the size of the unit watermark is L=32. In this case, in the range of the unit watermark, as shown in FIG. 17A, there are encoded blocks of 8xc3x9716 pixels, the number thereof being 4 (=L/8) in the horizontal direction and 2 (=L/16) in the vertical direction. In this case, since the size can be divided to become L/8=4 and L/16=2, folding accumulation can be made without any change to the DCT region. That is, with respect to eight blocks of 8xc3x9716 pixels in the range of the region of Lxc3x97L of the unit watermark, as shown in FIGS. 17B and 17C, accumulation is performed after division is made into the frame DCT and the field DCT.
In the inverse DCT unit 412, the DCT coefficient of accumulated output of the folding accumulator 401 is subjected to inverse DCT to return it into the space region, and it is sent to the FFT unit 402. The value sent to the FFT unit 402 is such that the number of elements is Lxc3x97L, each is the sum of pixel values, and is the same as the output of the folding accumulator 301 of FIG. 9. The subsequent steps are the same as the case of the base band.
In the adding apparatus of the watermark and the detecting apparatus as described above, by a method in which mapping is performed into the FFT space and a search in the space is performed through convolution in the FFT space, detection of a shift of the watermark over the whole image is made possible. Besides, FFT is applied after the image is subjected to folding accumulation, so that the calculation amount of the FFT is decreased.
However, the watermark repeating unit 103 of the watermark adding apparatus 10 shown in FIG. 7 stores information of the watermark WMR for one image in the memory 1031, and there is an ineffective point that plural sets of information of the unit watermarks having the same pattern are held in the memory 1031.
Besides, since the unit watermark with the same size L in the number of pixels in the horizontal and vertical directions is used for the added image by the foregoing watermark adding method, labor of a person who attacks a watermark system to analyze the watermark is little, and there is a fear that the attack becomes easy.
Besides, since the same unit watermarks are simply arranged in one frame or one field, it is possible for a person attacking the watermark system to erase the watermark relatively easily, so that there is a fear that it becomes impossible to effectively prevent illegal use such as illegal copying of image information.
A first object of the present invention is to provide an associated information adding apparatus using a watermark, which can use, as a memory of a watermark repeating unit, a small capacity memory capable of only storing information of one unit watermark.
A second object of the invention is to realize a state where such attack to a watermark system as to erase a watermark or analyze the watermark is made difficult without complicating an adding apparatus and a detecting apparatus of the watermark.
In order to achieve the first object, an associated information adding apparatus of the invention comprises a memory for storing a unit watermark; a unit watermark repeating means for repeatedly reading out the unit watermark from the memory by using a surplus obtained when a pixel position coordinate value of an image in a vertical direction and a horizontal direction is divided by a size of a vertical and horizontal repetitive unit of the unit watermark; and adding means for adding the unit watermarks read out by the unit watermark repeating means to image information so as to repeat the unit watermarks on the image vertically and horizontally.
According to the invention of the foregoing structure, the memory included in the associated information adding apparatus stores one unit watermark. The unit watermark repeating means divides each pixel position coordinate value of the image to be added with a watermark by the size of the vertical and horizontal repeating unit of the unit watermark, and uses the surplus to repeatedly read out the unit watermark from the memory. The unit watermark read out from the memory is sequentially added to the image information by the adding means. By this, the image information is added with the watermark in which the unit watermarks are repeated on the image vertically and horizontally.
As described above, it is sufficient if the memory included in the associated information adding apparatus has a capacity for storing one unit watermark, and it is not necessary to store a repetitive watermark pattern for one image (one frame or one field) in the memory.
Besides, in order to achieve the second object, the associated information adding apparatus of the invention is characterized in that the vertical and horizontal size of the unit watermark is selected to be Nxe2x89xa0M.
According to this, it is not necessary that the size of the unit watermark is made such that the vertical and horizontal sizes are equal to each other, but the vertical and horizontal sizes can be independently freely selected. Thus, it is possible to complicate analysis of the watermark made by a person who attempts to attack the watermark system, and the system becomes hard to attack.
Besides, in order to achieve the second object, the associated information adding apparatus of the invention comprises repetitive watermark producing means for producing a repetitive watermark in which the unit watermark is shifted in a horizontal direction (or vertical direction) by a constant amount at every row (or every column) where the unit watermark is repeatedly arranged in the horizontal direction; and adding means for adding the repetitive watermark from the repetitive watermark producing means to image information.
According to this invention, in one image (frame or field), the repetitive watermark in which the unit watermark is sequentially repeated by a constant amount at every row (every column) is added to the image, so that it is possible to complicate analysis of the watermark made by a person who attempts to attack the watermark system, and the system becomes hard to attack.
Besides, in order to achieve the second object, the associated information adding apparatus of the invention comprises repetitive watermark producing means for producing a repetitive watermark in which the unit watermark is shifted in a vertical direction and/or a horizontal direction by a constant amount for every constant time in a unit of an image; and adding means for adding the repetitive watermark from the repetitive watermark producing means to image information.
According to this invention, since the repetitive watermark added to the image comes to have such a state that the whole repetitive watermark is shifted in the vertical direction and/or horizontal direction for every frame (or field) or every plural frames (or fields) in the unit of the image of one frame (or one field), even if the image is simply accumulated in the time direction (frame or field direction), the added watermark does not become clear, so that it is possible to complicate analysis of the watermark made by a person who attempts to attack the watermark system, and the system becomes hard to attack.